# coding=utf-8

'''
Created on 30/03/2011

@author: matheus
'''

'''
Exercício 30. Escreva a função mdc(x,y) para determinar o Máximo Divisor Comum (MDC) de dois inteiros 
(ambos diferentes de zero) segundo o algoritmo de Euclides. O algoritmo de Euclides consiste em efetuar 
divisões sucessivas até que o resto da divisão seja igual a zero, sendo que, enquanto isso não acontece, 
o próximo dividendo é o divisor anterior e o próximo divisor é o resto da divisão anterior. Quando o 
resto for igual a zero, o MDC será o último divisor. Os asserts abaixo complementam a especificação do 
funcionamento da função.
'''

def mdc(a, b):
    if b:
        return mdc(a, b)
    return a

assert mdc(15, 10) == 5
assert mdc(10, 15) == 5
assert mdc(12, 36) == 12
assert mdc(36, 12) == 12